给Game&Watch刷入RetroGo,自制软件Luncher并与原厂固件共存 |
您所在的位置:网站首页 › game watch 破解 扩容 › 给Game&Watch刷入RetroGo,自制软件Luncher并与原厂固件共存 |
效果 开机后会运行官方原厂固件(马里奥/塞尔达时钟界面),在这个状态下按下GAME+L+A进入自制软件Luncher界面,如下 这里可以选择RetroGo进入模拟器或者运行其他第三方的自制软件。 前提你需要先解锁(破解)你的GW,具体参见这篇文章。 给任天堂Game&Watch掌机刷机(使用ST-Link 或 树莓派) 需要准备好的东西ubuntu20.04 或者一台树莓派st-link (使用树莓派的话不需要)杜邦线若干Game&... 原理给官方固件打一个补丁,使其能够响应热键并进入一个菜单。在这个菜单中可以调用其他程序,比如RetroGo或者自制软件。我画了一个对比图供参考(以Mario机型和替换过16M外部Flash为例)。 操作首先还原官方系统方法参见这篇文章。执行第5步还原系统即可。 给任天堂Game&Watch掌机刷机(使用ST-Link 或 树莓派) 需要准备好的东西ubuntu20.04 或者一台树莓派st-link (使用树莓派的话不需要)杜邦线若干Game&... ./5_restore.sh stlink mario安装打过补丁的的opencd环境:ubuntu 安装一个打过补丁的的opencd(用来烧写内部flash的Bank1 / Bank2)。 有好几种方法,具体参考这里,本文只节选我自己用过的方法。也就是使用预编译好的安装包。 随便找一个目录执行以下命令即可。如果出现错误,根据错误提示卸载掉冲突的库。 wget https://nightly.link/kbeckmann/ubuntu-openocd-git-builder/workflows/docker/master/openocd-git.deb.zip unzip openocd-git.deb.zip sudo dpkg -i openocd-git_*_amd64.deb sudo apt-get -y -f install安装 STM32CubeProgrammer环境:windows 去ST官网下载 STM32CubeProgrammer 并安装。 注意要选择32位的2.6版本,不要选错了。2.7以后的版本有兼容性问题。 下载 SPI flash external loaders 文件环境:windows 在 这里 下载压缩包后解压得到若干.stldr文件,将这些文件复制到 STM32CubeProgrammer 的安装目录下的 /bin/ExternalLoader/ 文件夹中。比如 C:\Program Files (x86)\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin\ExternalLoader\ 使用 Stock Firmware Patcher 给原厂固件打补丁环境:windows 下载 Game & Watch - Stock Firmware Patcher 1.4.0 并解压运行。 Input File - 原厂固件(注意是内部flash的bin文件,不是外部flash用的bin文件),也就是你破解GW时做的备份文件。 Output File - 打完补丁的固件的保存位置。 STM32CubeProg Path - 之前安装的 STM32CubeProgrammer 的位置。 ST-LINK Reset Mode - Hardware (确保你连接了stlink的RST) File System - 地址不要修改。Size根据你的需要设置好为自制软件预留的文件系统的size,也就是下图上色的区域。(注意,这一步只是让补丁版的FW『记住以后我该从哪个位置开始读取自制软件的数据』,并不会烧写这个区域,真正的烧写在后面,有一点互相之间先打好招呼那个意思) 我这里设置的是4MB,这个数字取决于你想留多少空间给RetroGo使用。 Firmware - 地址填 08100000 ,这个地址是stm32h7的内部flash的Bank2的地址, 也是RetroGo系统默认指定的地址。Name可以随便修改,不要写汉字就好。 HotKey - 这个根据你自己的喜好改就好,可以选多个,一般默认即可。也就是按下L+A+GAME就调出Luncher菜单。 Other - 这里可以修改Luncher菜单的背景色和文字颜色,随便改。反差大一点就行。 都设置完以后点Patch按钮即可根据你的设置生成一个打过补丁的原厂内部固件bin。 生成打过补丁的固件后,确认stlink已连接,点击Upload按钮即可刷入。 Upload如果出错,一般考虑以下几个原因,请自行检查并重试(后面的步骤如果烧录出问题也是一样检查,不再重复): stlink连接不稳定,拔了重插,检查连线等安装了2.6以上版本的Programmer没有正确拷贝external loaders 文件电压问题。尝试断开电池连线和USB-C,然后连上电池连线,最后插入USB-C电源(如果不先连接电池可能会导致4.8V的电压直接跑在1.8V的线上容易出问题)。至此,你已经完成了下图中的上色的部分(黄色为之前已经完成的部分) 此时,打开电源可进入官方的时钟界面,按下L+A+GAME会进入自制软件菜单。 当然这个时候我们还没有刷入任何自制软件所以Luncher的列表是空的。 我们继续。 使用 Game & Watch - File System Builder 制作文件系统并刷入GW环境:windows 下载 Game & Watch - File System Builder 1.5.2 并解压。下载 LZ4 for Windows 解压得到msys-lz4-1.dll文件,复制这个文件到上面的Game & Watch - File System Builder目录下。(这个是用来压缩的第三方库)在Game & Watch - File System Builder目录下新建文件夹build/input/ ,然后将你想要烧录的自制软件的RAM .elf放在里面,可以放多个。只要经过软件压缩后不超过你之前设置的文件系统size(我设置的是4MB)就可以。连接好stlink运行Game & Watch - File System Builder目录下的 Game & Watch - File System Builder.exeBuild Path / Extract Path - 默认即可(自动指向当前文件夹)。 STM32CubeProg Path - 之前安装的 STM32CubeProgrammer 的位置。 External Loader 1 - 默认是MX厂的16MB的flash,如果你使用了别的品牌/Size的Flash需要修改。 ST-LINK Reset Mode - Hardware (确保你连接了stlink的RST) File System - 默认是空的,点一下右侧的下拉框箭头,软件会自动连接stlink并检查你之前刷入的补丁设置。确认有没有问题(比如我之前设置的是4MB这里也显示了4MB表示没问题)。 右侧的两个勾都勾上,会对elf文件进行优化压缩。 设置好以后点Build即可将input里的elf文件压缩打包成一个bin文件。 没啥问题就点Upload刷入机器。 至此我们完成了以下工作 此时已经可以在Luncher列表中看到你刷入的自制软件并可以运行它们了。撒花。 接下来我们继续搞RetroGo。(待续) 附,使用命令行刷入外部Flash固件的方法(一般用不到)环境:Windows 打开命令行连接好stlink,执行以下命令(需要事先将 ...STM32CubeProgrammer\bin 绝对路径加入系统环境变量的PATH中去) cd .../固件的位置/ STM32_Programmer_CLI.exe -c port=SWD -el "D:\Program Files (x86)\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin\ExternalLoader\MX25U12835F_GAME-AND-WATCH.stldr" -w flash_backup_mario.bin 0x90000000 -rst系列文章给任天堂Game&Watch掌机刷机(使用ST-Link 或 树莓派)给Game&Watch刷入RetroGo,自制软件Luncher并与原厂固件共存【当前文章】 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |